package com.choosefine.it.team.model;

import com.choosefine.it.base.Base;
import com.choosefine.it.basedata.model.City;
import com.choosefine.it.basedata.model.ProjectInfo;
import com.choosefine.it.basedata.model.UserInfo;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.persistence.Transient;
import java.math.BigDecimal;

@ApiModel(value = "班组详情信息")
/**
 * 班组详情信息
 * 
 * @auth liaozhanggen 2016-11-21 下午8:52:11
 *
 */
public class ItemInfo extends Base {
	
	private static final long serialVersionUID = 1L;
	
	@ApiModelProperty(value = "id", required = false)
	private Integer id;

	@ApiModelProperty(value = "班组挂靠公司ID", required = true)
	private Integer affiliatedUnitsId;
	
	@ApiModelProperty(value = "班组挂靠公司", required = true)
	private String companyName;

	/**
	 * 该班组的负责人id
	 */
	@Deprecated
	@Transient
	@ApiModelProperty(value = "该班组的负责人id", required = true)
	private String uuid;

	@JsonProperty("user")
	@ApiModelProperty(value = "用户信息", required = true)
	private UserInfo userInfo;

	/**
	 * 工程的编号
	 */
	@ApiModelProperty(value = "工程的编号", required = true)
	private String projectCode;
	/**
	 * 项目即工程对象，便于读取在mybatis同当前对象读出来
	 */
	@ApiModelProperty(value = "工程信息对象", required = true)
	private ProjectInfo projectInfo;
	/**
	 * 地区
	 */
	@ApiModelProperty(value = "地区id", required = true)
	private Integer cityId;
	@ApiModelProperty(value = "city对象", required = true)
	private City city;

	/**
	 * 班组挂靠公司，用于存储
	 */
	@ApiModelProperty(value = "班组挂靠公司ID，用于存储", required = true)
	private Integer teamAffiliatedUnitId;
	/**
	 * 班组挂靠公司 对象，用于查询展示
	 */
	@ApiModelProperty(value = "班组挂靠公司对象，用于查询展示", required = true)
	private TeamAffiliatedunits teamAffiliatedunits;


	@ApiModelProperty(value = "班组挂靠公司 ", required = true)
	private String affiliatedunit;
	/**
	 * 分包类型1清包2重包
	 */
	@ApiModelProperty(value = "分包类型（1清包2重包） ", required = true)
	private Integer projectTypeId;

//	/**
//	 * 班组类型id
//	 */
//	@ApiModelProperty(value = "班组类型id ", required = true)
//	private String teamTypeId;

	@ApiModelProperty(value = "分包班组承包人姓名 ", required = true)
	private String userName;

	@ApiModelProperty(value = "工程阶段 ", required = true)
	private String projectStage;

//	/**
//	 * 班组类型
//	 */
//	@ApiModelProperty(value = "班组类型", required = true)
//	private String teamTypeName;
	
	@ApiModelProperty(value = "班组名称", required = true)
	private String teamName;

	/**
	 * 总金额
	 */
	@ApiModelProperty(value = "总金额", required = true)
	private BigDecimal totalPrice;
	/**
	 * 应付金额
	 */
	@ApiModelProperty(value = "应付金额", required = true)
	private BigDecimal due;
	/**
	 * 已付金额
	 */
	@ApiModelProperty(value = "已付金额", required = true)
	private BigDecimal paid;
	/**
	 * 未付金额
	 */
	@ApiModelProperty(value = "未付金额", required = true)
	private BigDecimal unpaid;
	/**
	 * 资金变动
	 */
	@ApiModelProperty(value = "资金变动", required = true)
	private BigDecimal capitalChange;
	/**
	 * 资金变动
	 */
	@ApiModelProperty(value = "资金变动", required = true)
	private BigDecimal adjustedSubPrice;
	/**
	 * 资金变动调整理由
	 */
	@ApiModelProperty(value = "调整理由", required = true)
	private String adjustedReason;
	
	@ApiModelProperty(value = "分包单位租户编号", required = true)
	private String affiliatedUnitsCode;
	

	public String getAffiliatedUnitsCode() {
		return affiliatedUnitsCode;
	}

	public void setAffiliatedUnitsCode(String affiliatedUnitsCode) {
		this.affiliatedUnitsCode = affiliatedUnitsCode;
	}

	public String getTeamName() {
		return teamName;
	}

	public void setTeamName(String teamName) {
		this.teamName = teamName;
	}

	public String getAdjustedReason() {
		return adjustedReason;
	}

	public void setAdjustedReason(String adjustedReason) {
		this.adjustedReason = adjustedReason;
	}

	public TeamAffiliatedunits getTeamAffiliatedunits() {
		return teamAffiliatedunits;
	}

	public void setTeamAffiliatedunits(TeamAffiliatedunits teamAffiliatedunits) {
		this.teamAffiliatedunits = teamAffiliatedunits;
	}

	public BigDecimal getAdjustedSubPrice() {
		return adjustedSubPrice;
	}

	public void setAdjustedSubPrice(BigDecimal adjustedSubPrice) {
		this.adjustedSubPrice = adjustedSubPrice;
	}

	public String getProjectStage() {
		return projectStage;
	}

	public void setProjectStage(String projectStage) {
		this.projectStage = projectStage;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

//	public String getTeamTypeId() {
//		return teamTypeId;
//	}
//
//	public void setTeamTypeId(String teamTypeId) {
//		this.teamTypeId = teamTypeId;
//	}
//
//	public String getTeamTypeName() {
//		return teamTypeName;
//	}
//
//	public void setTeamTypeName(String teamTypeName) {
//		this.teamTypeName = teamTypeName;
//	}
//
	public BigDecimal getTotalPrice() {
		return totalPrice;
	}

	public void setTotalPrice(BigDecimal totalPrice) {
		this.totalPrice = totalPrice;
	}

	public BigDecimal getCapitalChange() {
		return capitalChange;
	}

	public void setCapitalChange(BigDecimal capitalChange) {
		this.capitalChange = capitalChange;
	}

	public BigDecimal getDue() {
		return due;
	}

	public void setDue(BigDecimal due) {
		this.due = due;
	}

	public BigDecimal getPaid() {
		return paid;
	}

	public void setPaid(BigDecimal paid) {
		this.paid = paid;
	}

	public BigDecimal getUnpaid() {
		return unpaid;
	}

	public void setUnpaid(BigDecimal unpaid) {
		this.unpaid = unpaid;
	}

	public ProjectInfo getProjectInfo() {
		return projectInfo;
	}

	public void setProjectInfo(ProjectInfo projectInfo) {
		this.projectInfo = projectInfo;
	}

	public City getCity() {
		return city;
	}

	public void setCity(City city) {
		this.city = city;
	}

	public Integer getTeamAffiliatedUnitId() {
		return teamAffiliatedUnitId;
	}

	public void setTeamAffiliatedUnitId(Integer teamAffiliatedUnitId) {
		this.teamAffiliatedUnitId = teamAffiliatedUnitId;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getUuid() {
		return uuid;
	}

	public void setUuid(String uuid) {
		this.uuid = uuid == null ? null : uuid.trim();
	}

	public String getProjectCode() {
		return projectCode;
	}

	public void setProjectCode(String projectCode) {
		this.projectCode = projectCode == null ? null : projectCode.trim();
	}

	public Integer getCityId() {
		return cityId;
	}

	public void setCityId(Integer cityId) {
		this.cityId = cityId;
	}

	public Integer getAffiliatedUnitsId() {
		return affiliatedUnitsId;
	}

	public void setAffiliatedUnitsId(Integer affiliatedUnitsId) {
		this.affiliatedUnitsId = affiliatedUnitsId;
	}

	public Integer getProjectTypeId() {
		return projectTypeId;
	}

	public void setProjectTypeId(Integer projectTypeId) {
		this.projectTypeId = projectTypeId;
	}

	public UserInfo getUserInfo() {
		return userInfo;
	}

	public void setUserInfo(UserInfo userInfo) {
		this.userInfo = userInfo;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	public String getAffiliatedunit() {
		return affiliatedunit;
	}

	public void setAffiliatedunit(String affiliatedunit) {
		this.affiliatedunit = affiliatedunit;
	}

	public String getCompanyName() {
		return companyName;
	}

	public void setCompanyName(String companyName) {
		this.companyName = companyName;
	}
	
}
